-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
planner: support the leading hint for outer join #35264
planner: support the leading hint for outer join #35264
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
…OuterJoinLeadingHint
…o supportOuterJoinLeadingHint
testkit/testdata/testdata.go
Outdated
if len(res.input) != len(res.output) { | ||
return res, errors.New(fmt.Sprintf("Number of test input cases %d does not match test output cases %d", len(res.input), len(res.output))) | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change in this file is same as #35369
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/cd073216a675d773208134146561b0ec4be503ff |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to document that for the case t1 left join (t2, t3, t4)
, the leading hint would raise a warning since the left join divides the group into two.
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 96d796d
|
TiDB MergeCI notify✅ Well Done! New fixed [1] after this pr merged.
|
…vars * upstream/master: (28 commits) *: enable unconvert (pingcap#35821) log-backup: check timezone when using datatime format ts string (pingcap#35811) planner: support the leading hint for outer join (pingcap#35264) lightning: revert new policy of allocating rowid and refine it later (pingcap#35817) txn: manage the initialization of RCCheckTS by transaction context provider (pingcap#35554) ddl: make output field name in `show tables/databases stmt` compatible with mysql (pingcap#35136) txn: remove `legacy.SimpleTxnContextProvider` (pingcap#35667) txn: fix the error message if retry could not be used for rc check ts (pingcap#35474) *: support canceling DDL statements with KILL (pingcap#35803) lightning: avoid extracting db schema when schema file is not provided (pingcap#35783) *: enable all gosimples (pingcap#35762) tools/check: skip 'tests' directory in 'make ut' (pingcap#35800) metrics: add loading region cache duration (pingcap#34679) ddl: DROP TABLE/VIEW/SEQUENCE now use XXXStmt as parameter (pingcap#35741) types: fix incompatible implementation of jsonpath extraction (pingcap#35320) planner: fix TRACE PLAN TARGET = 'estimation' panic when meeting partition table (pingcap#35743) *: Add `testfork.RunTest` to run multiple tests in one function (pingcap#35746) sessionctx/variable: add tests to ensure skipInit can be removed (pingcap#35703) helper: request another PD if one of them is unavailable (pingcap#35750) metrics: add cached table related metrics to grafana panel (pingcap#34718) ...
What problem does this PR solve?
Issue Number: ref #29932
Problem Summary:
Support the leading hint for outer join
What is changed and how it works?
If the query contains the outer join. We will check whether there exists the join conditions between the tables which the leading hint specify. If there is no join conditions, the leading hint will fail. Otherwise, it can work.
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.